//
//  User.swift
//  新浪微博
//
//  Created by 赵春浩 on 15/12/19.
//  Copyright © 2015年 DreamFlyingCow. All rights reserved.
//

import UIKit

class User: NSObject {

    // 用户 UID
    var id: Int64 = 0
    // 友好显示名称
    var name: String?
    // 用户头像地址  50x50像素
    var profile_image_url: String?
    // 用户头像的 url
    var headURL: NSURL? {
        // 只读属性的完整写法
        get {
            return NSURL(string: profile_image_url ?? "")
        }
    }
    
    // 认证类型: -1: 表示没有认证
    // 0: 表示认证用户
    // 2,3,5: 表示企业认证
    // 220: 表示达人
    var verified_type: Int = -1
    
    var verified_type_image: UIImage? {
        switch verified_type {
        case -1: return nil
        case 0: return UIImage(named: "avatar_vip")
        case 2,3,5: return UIImage(named: "avatar_enterprise_vip")
        case 220: return UIImage(named: "avatar_grassroot")
        default: return nil
        }
    }
    // 会员等级 0-6
    var mbrank: Int = 0
    var mbrankImage: UIImage? {
        // 首先判断是否是有等级的
        // 只读属性的简写
        if mbrank > 0 && mbrank < 7 {
            return UIImage(named: "common_icon_membership_level\(mbrank)")
        }
        return nil
    }
    
    // 构造方法 KVC 设置值
    init(dict: [String : AnyObject]) {
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    // 过滤多余的属性
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }
    
    override var description: String {
        let keys = ["id", "name", "profile_image_url", "mbrank", "verified_type"]
        return dictionaryWithValuesForKeys(keys).description
    }
    
}
